package com.wanke.dao;

import java.util.List;
import java.util.Set;

import javax.management.Query;

import com.wanke.bean.QueryCheckDormitoryCondition;
import com.wanke.entity.CheckinDormitory;
import com.wanke.entity.Student;

public interface CheckinDormitoryDao {

	void persist(CheckinDormitory transientInstance);

	void attachDirty(CheckinDormitory instance);

	void attachClean(CheckinDormitory instance);

	void delete(CheckinDormitory persistentInstance);

	CheckinDormitory merge(CheckinDormitory detachedInstance);

	CheckinDormitory findById(int id);

	List findByExample(CheckinDormitory instance);

	boolean saveCheckinDormitory(CheckinDormitory checkinDormitory);
	
	boolean updateCheckinDormitory(CheckinDormitory checkinDormitory);
	
	List<CheckinDormitory> findAllCheckinDormitory();
	
	List<CheckinDormitory> findByTime(String time);
	List<CheckinDormitory> findByTimeAndStudent(String time,Set<Student> students);
	
	List<CheckinDormitory> findByTimeBanjiNameAsType1(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findByTimeBanjiAsType1(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findByTimeBanjiNameAsType2(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findByTimeBanjiAsType2(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findByTimeBanjiNameAsType3(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findByTimeBanjiAsType3(QueryCheckDormitoryCondition condition);
	
	List<CheckinDormitory> findBySemesterNameAsType1(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findBySemesterAsType1(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findBySemesterNameAsType2(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findBySemesterAsType2(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findBySemesterNameAsType3(QueryCheckDormitoryCondition condition);
	List<CheckinDormitory> findBySemesterAsType3(QueryCheckDormitoryCondition condition);
	
}